package com.sams.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GovSubExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GovSubExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andStucodeIsNull() {
            addCriterion("stucode is null");
            return (Criteria) this;
        }

        public Criteria andStucodeIsNotNull() {
            addCriterion("stucode is not null");
            return (Criteria) this;
        }

        public Criteria andStucodeEqualTo(String value) {
            addCriterion("stucode =", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeNotEqualTo(String value) {
            addCriterion("stucode <>", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeGreaterThan(String value) {
            addCriterion("stucode >", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeGreaterThanOrEqualTo(String value) {
            addCriterion("stucode >=", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeLessThan(String value) {
            addCriterion("stucode <", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeLessThanOrEqualTo(String value) {
            addCriterion("stucode <=", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeLike(String value) {
            addCriterion("stucode like", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeNotLike(String value) {
            addCriterion("stucode not like", value, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeIn(List<String> values) {
            addCriterion("stucode in", values, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeNotIn(List<String> values) {
            addCriterion("stucode not in", values, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeBetween(String value1, String value2) {
            addCriterion("stucode between", value1, value2, "stucode");
            return (Criteria) this;
        }

        public Criteria andStucodeNotBetween(String value1, String value2) {
            addCriterion("stucode not between", value1, value2, "stucode");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeIsNull() {
            addCriterion("idcardtype is null");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeIsNotNull() {
            addCriterion("idcardtype is not null");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeEqualTo(String value) {
            addCriterion("idcardtype =", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeNotEqualTo(String value) {
            addCriterion("idcardtype <>", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeGreaterThan(String value) {
            addCriterion("idcardtype >", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeGreaterThanOrEqualTo(String value) {
            addCriterion("idcardtype >=", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeLessThan(String value) {
            addCriterion("idcardtype <", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeLessThanOrEqualTo(String value) {
            addCriterion("idcardtype <=", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeLike(String value) {
            addCriterion("idcardtype like", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeNotLike(String value) {
            addCriterion("idcardtype not like", value, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeIn(List<String> values) {
            addCriterion("idcardtype in", values, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeNotIn(List<String> values) {
            addCriterion("idcardtype not in", values, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeBetween(String value1, String value2) {
            addCriterion("idcardtype between", value1, value2, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardtypeNotBetween(String value1, String value2) {
            addCriterion("idcardtype not between", value1, value2, "idcardtype");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNull() {
            addCriterion("idcard is null");
            return (Criteria) this;
        }

        public Criteria andIdcardIsNotNull() {
            addCriterion("idcard is not null");
            return (Criteria) this;
        }

        public Criteria andIdcardEqualTo(String value) {
            addCriterion("idcard =", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotEqualTo(String value) {
            addCriterion("idcard <>", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThan(String value) {
            addCriterion("idcard >", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardGreaterThanOrEqualTo(String value) {
            addCriterion("idcard >=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThan(String value) {
            addCriterion("idcard <", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLessThanOrEqualTo(String value) {
            addCriterion("idcard <=", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardLike(String value) {
            addCriterion("idcard like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotLike(String value) {
            addCriterion("idcard not like", value, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardIn(List<String> values) {
            addCriterion("idcard in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotIn(List<String> values) {
            addCriterion("idcard not in", values, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardBetween(String value1, String value2) {
            addCriterion("idcard between", value1, value2, "idcard");
            return (Criteria) this;
        }

        public Criteria andIdcardNotBetween(String value1, String value2) {
            addCriterion("idcard not between", value1, value2, "idcard");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(String value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(String value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(String value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(String value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(String value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(String value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLike(String value) {
            addCriterion("sex like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotLike(String value) {
            addCriterion("sex not like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<String> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<String> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(String value1, String value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(String value1, String value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNull() {
            addCriterion("birthday is null");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNotNull() {
            addCriterion("birthday is not null");
            return (Criteria) this;
        }

        public Criteria andBirthdayEqualTo(String value) {
            addCriterion("birthday =", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotEqualTo(String value) {
            addCriterion("birthday <>", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThan(String value) {
            addCriterion("birthday >", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThanOrEqualTo(String value) {
            addCriterion("birthday >=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThan(String value) {
            addCriterion("birthday <", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThanOrEqualTo(String value) {
            addCriterion("birthday <=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLike(String value) {
            addCriterion("birthday like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotLike(String value) {
            addCriterion("birthday not like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayIn(List<String> values) {
            addCriterion("birthday in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotIn(List<String> values) {
            addCriterion("birthday not in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayBetween(String value1, String value2) {
            addCriterion("birthday between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotBetween(String value1, String value2) {
            addCriterion("birthday not between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("year is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("year is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(String value) {
            addCriterion("year =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(String value) {
            addCriterion("year <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(String value) {
            addCriterion("year >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(String value) {
            addCriterion("year >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(String value) {
            addCriterion("year <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(String value) {
            addCriterion("year <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLike(String value) {
            addCriterion("year like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotLike(String value) {
            addCriterion("year not like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<String> values) {
            addCriterion("year in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<String> values) {
            addCriterion("year not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(String value1, String value2) {
            addCriterion("year between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(String value1, String value2) {
            addCriterion("year not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andStudyyearIsNull() {
            addCriterion("studyyear is null");
            return (Criteria) this;
        }

        public Criteria andStudyyearIsNotNull() {
            addCriterion("studyyear is not null");
            return (Criteria) this;
        }

        public Criteria andStudyyearEqualTo(String value) {
            addCriterion("studyyear =", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearNotEqualTo(String value) {
            addCriterion("studyyear <>", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearGreaterThan(String value) {
            addCriterion("studyyear >", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearGreaterThanOrEqualTo(String value) {
            addCriterion("studyyear >=", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearLessThan(String value) {
            addCriterion("studyyear <", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearLessThanOrEqualTo(String value) {
            addCriterion("studyyear <=", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearLike(String value) {
            addCriterion("studyyear like", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearNotLike(String value) {
            addCriterion("studyyear not like", value, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearIn(List<String> values) {
            addCriterion("studyyear in", values, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearNotIn(List<String> values) {
            addCriterion("studyyear not in", values, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearBetween(String value1, String value2) {
            addCriterion("studyyear between", value1, value2, "studyyear");
            return (Criteria) this;
        }

        public Criteria andStudyyearNotBetween(String value1, String value2) {
            addCriterion("studyyear not between", value1, value2, "studyyear");
            return (Criteria) this;
        }

        public Criteria andTermIsNull() {
            addCriterion("term is null");
            return (Criteria) this;
        }

        public Criteria andTermIsNotNull() {
            addCriterion("term is not null");
            return (Criteria) this;
        }

        public Criteria andTermEqualTo(String value) {
            addCriterion("term =", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotEqualTo(String value) {
            addCriterion("term <>", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermGreaterThan(String value) {
            addCriterion("term >", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermGreaterThanOrEqualTo(String value) {
            addCriterion("term >=", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLessThan(String value) {
            addCriterion("term <", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLessThanOrEqualTo(String value) {
            addCriterion("term <=", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLike(String value) {
            addCriterion("term like", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotLike(String value) {
            addCriterion("term not like", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermIn(List<String> values) {
            addCriterion("term in", values, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotIn(List<String> values) {
            addCriterion("term not in", values, "term");
            return (Criteria) this;
        }

        public Criteria andTermBetween(String value1, String value2) {
            addCriterion("term between", value1, value2, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotBetween(String value1, String value2) {
            addCriterion("term not between", value1, value2, "term");
            return (Criteria) this;
        }

        public Criteria andSubnameIsNull() {
            addCriterion("subname is null");
            return (Criteria) this;
        }

        public Criteria andSubnameIsNotNull() {
            addCriterion("subname is not null");
            return (Criteria) this;
        }

        public Criteria andSubnameEqualTo(String value) {
            addCriterion("subname =", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameNotEqualTo(String value) {
            addCriterion("subname <>", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameGreaterThan(String value) {
            addCriterion("subname >", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameGreaterThanOrEqualTo(String value) {
            addCriterion("subname >=", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameLessThan(String value) {
            addCriterion("subname <", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameLessThanOrEqualTo(String value) {
            addCriterion("subname <=", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameLike(String value) {
            addCriterion("subname like", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameNotLike(String value) {
            addCriterion("subname not like", value, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameIn(List<String> values) {
            addCriterion("subname in", values, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameNotIn(List<String> values) {
            addCriterion("subname not in", values, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameBetween(String value1, String value2) {
            addCriterion("subname between", value1, value2, "subname");
            return (Criteria) this;
        }

        public Criteria andSubnameNotBetween(String value1, String value2) {
            addCriterion("subname not between", value1, value2, "subname");
            return (Criteria) this;
        }

        public Criteria andSubamountIsNull() {
            addCriterion("subamount is null");
            return (Criteria) this;
        }

        public Criteria andSubamountIsNotNull() {
            addCriterion("subamount is not null");
            return (Criteria) this;
        }

        public Criteria andSubamountEqualTo(String value) {
            addCriterion("subamount =", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountNotEqualTo(String value) {
            addCriterion("subamount <>", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountGreaterThan(String value) {
            addCriterion("subamount >", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountGreaterThanOrEqualTo(String value) {
            addCriterion("subamount >=", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountLessThan(String value) {
            addCriterion("subamount <", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountLessThanOrEqualTo(String value) {
            addCriterion("subamount <=", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountLike(String value) {
            addCriterion("subamount like", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountNotLike(String value) {
            addCriterion("subamount not like", value, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountIn(List<String> values) {
            addCriterion("subamount in", values, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountNotIn(List<String> values) {
            addCriterion("subamount not in", values, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountBetween(String value1, String value2) {
            addCriterion("subamount between", value1, value2, "subamount");
            return (Criteria) this;
        }

        public Criteria andSubamountNotBetween(String value1, String value2) {
            addCriterion("subamount not between", value1, value2, "subamount");
            return (Criteria) this;
        }

        public Criteria andProvidedateIsNull() {
            addCriterion("providedate is null");
            return (Criteria) this;
        }

        public Criteria andProvidedateIsNotNull() {
            addCriterion("providedate is not null");
            return (Criteria) this;
        }

        public Criteria andProvidedateEqualTo(String value) {
            addCriterion("providedate =", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateNotEqualTo(String value) {
            addCriterion("providedate <>", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateGreaterThan(String value) {
            addCriterion("providedate >", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateGreaterThanOrEqualTo(String value) {
            addCriterion("providedate >=", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateLessThan(String value) {
            addCriterion("providedate <", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateLessThanOrEqualTo(String value) {
            addCriterion("providedate <=", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateLike(String value) {
            addCriterion("providedate like", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateNotLike(String value) {
            addCriterion("providedate not like", value, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateIn(List<String> values) {
            addCriterion("providedate in", values, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateNotIn(List<String> values) {
            addCriterion("providedate not in", values, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateBetween(String value1, String value2) {
            addCriterion("providedate between", value1, value2, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvidedateNotBetween(String value1, String value2) {
            addCriterion("providedate not between", value1, value2, "providedate");
            return (Criteria) this;
        }

        public Criteria andProvideIsNull() {
            addCriterion("provide is null");
            return (Criteria) this;
        }

        public Criteria andProvideIsNotNull() {
            addCriterion("provide is not null");
            return (Criteria) this;
        }

        public Criteria andProvideEqualTo(String value) {
            addCriterion("provide =", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideNotEqualTo(String value) {
            addCriterion("provide <>", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideGreaterThan(String value) {
            addCriterion("provide >", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideGreaterThanOrEqualTo(String value) {
            addCriterion("provide >=", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideLessThan(String value) {
            addCriterion("provide <", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideLessThanOrEqualTo(String value) {
            addCriterion("provide <=", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideLike(String value) {
            addCriterion("provide like", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideNotLike(String value) {
            addCriterion("provide not like", value, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideIn(List<String> values) {
            addCriterion("provide in", values, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideNotIn(List<String> values) {
            addCriterion("provide not in", values, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideBetween(String value1, String value2) {
            addCriterion("provide between", value1, value2, "provide");
            return (Criteria) this;
        }

        public Criteria andProvideNotBetween(String value1, String value2) {
            addCriterion("provide not between", value1, value2, "provide");
            return (Criteria) this;
        }

        public Criteria andSchidIsNull() {
            addCriterion("schid is null");
            return (Criteria) this;
        }

        public Criteria andSchidIsNotNull() {
            addCriterion("schid is not null");
            return (Criteria) this;
        }

        public Criteria andSchidEqualTo(Integer value) {
            addCriterion("schid =", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidNotEqualTo(Integer value) {
            addCriterion("schid <>", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidGreaterThan(Integer value) {
            addCriterion("schid >", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidGreaterThanOrEqualTo(Integer value) {
            addCriterion("schid >=", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidLessThan(Integer value) {
            addCriterion("schid <", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidLessThanOrEqualTo(Integer value) {
            addCriterion("schid <=", value, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidIn(List<Integer> values) {
            addCriterion("schid in", values, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidNotIn(List<Integer> values) {
            addCriterion("schid not in", values, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidBetween(Integer value1, Integer value2) {
            addCriterion("schid between", value1, value2, "schid");
            return (Criteria) this;
        }

        public Criteria andSchidNotBetween(Integer value1, Integer value2) {
            addCriterion("schid not between", value1, value2, "schid");
            return (Criteria) this;
        }

        public Criteria andUidIsNull() {
            addCriterion("uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andFinishdateIsNull() {
            addCriterion("finishdate is null");
            return (Criteria) this;
        }

        public Criteria andFinishdateIsNotNull() {
            addCriterion("finishdate is not null");
            return (Criteria) this;
        }

        public Criteria andFinishdateEqualTo(Date value) {
            addCriterion("finishdate =", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateNotEqualTo(Date value) {
            addCriterion("finishdate <>", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateGreaterThan(Date value) {
            addCriterion("finishdate >", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateGreaterThanOrEqualTo(Date value) {
            addCriterion("finishdate >=", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateLessThan(Date value) {
            addCriterion("finishdate <", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateLessThanOrEqualTo(Date value) {
            addCriterion("finishdate <=", value, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateIn(List<Date> values) {
            addCriterion("finishdate in", values, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateNotIn(List<Date> values) {
            addCriterion("finishdate not in", values, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateBetween(Date value1, Date value2) {
            addCriterion("finishdate between", value1, value2, "finishdate");
            return (Criteria) this;
        }

        public Criteria andFinishdateNotBetween(Date value1, Date value2) {
            addCriterion("finishdate not between", value1, value2, "finishdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}